package com.smdp.controller;


import com.smdp.dto.Result;
import com.smdp.entity.UserInfo;
import com.smdp.service.IUserInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 用户详情信息前端控制器。
 * 包含储存用户详情信息、根据id查询用户详情信息。
 *
 * @author 蔡方珩
 */
@RestController
@RequestMapping("/userInfo")
public class UserInfoController {

    @Resource
    private IUserInfoService userInfoService;

    /**
     * 存储用户信息。
     * 只能储存自己的用户信息，如果用户id不一致则拒绝储存。
     * @param userInfo 用户信息
     * @return 成功：ok / 失败：失败原因
     */
    @PostMapping("/save")
    public Result saveUserInfo(@RequestBody UserInfo userInfo) {
        return userInfoService.saveUserInfo(userInfo);
    }

    /**
     * 根据id查询用户详情信息
     * @param userId 用户id
     * @return 成功：脱敏的用户详情信息 / 失败：失败原因
     */
    @GetMapping("/{id}")
    public Result queryUserInfoById(@PathVariable("id") Long userId){
        return userInfoService.queryUserInfoById(userId);
    }

}
